package algorithm7.leetcode.每日一题.YEAR2023.month5;

import org.junit.jupiter.api.Test;

public class DAY20230517_LC2446 {

    /*
    给你两个字符串数组 event1 和 event2 ，表示发生在同一天的两个闭区间时间段事件，其中：
    event1 = [startTime1, endTime1] 且
    event2 = [startTime2, endTime2]
    事件的时间为有效的 24 小时制且按 HH:MM 格式给出。
    当两个事件存在某个非空的交集时（即，某些时刻是两个事件都包含的），则认为出现 冲突 。
    如果两个事件之间存在冲突，返回 true ；否则，返回 false 。
    
    示例 1：
    输入：event1 = ["01:15","02:00"], event2 = ["02:00","03:00"]
    输出：true
    解释：两个事件在 2:00 出现交集。
    
    示例 2：
    输入：event1 = ["01:00","02:00"], event2 = ["01:20","03:00"]
    输出：true
    解释：两个事件的交集从 01:20 开始，到 02:00 结束。
    
     */

    public boolean haveConflict(String[] event1, String[] event2) {
        return handle1(event1, event2);
    }

    private boolean handle1(String[] event1, String[] event2) {
        return !(event1[1].compareTo(event2[0]) < 0 || event2[1].compareTo(event1[0]) < 0);
    }

    @Test
    void t1() {
        String[] event1 = {"01:15","02:00"};
        String[] event2 = {"02:00","03:00"};
        boolean r = haveConflict(event1, event2);
        System.out.println("r = " + r);
    }

}
